/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2024.
 * Description: a high performance way to acquire cpu and memory stat, declare
 * the information we need here
 * Author: Pang LiYuan
 * Create: 2024-04-08
 */
#include <asm-generic/export.h>
#include <generated/rtos_hpstat_offsets.h>
#include <linux/linkage.h>

	.section .bss.rtos_hpstat_data

#ifdef CONFIG_RTOS_HP_OBTAIN_STAT_MEM
	.balign ASM_SMP_CACHE_BYTES
SYM_DATA_START(vm_zone_stat)
	.rept	ITEMS_NR_VM_ZONE_STAT
	.quad	0
	.endr
SYM_DATA_END(vm_zone_stat)
EXPORT_SYMBOL(vm_zone_stat)

	.balign ASM_SMP_CACHE_BYTES
SYM_DATA_START(vm_numa_stat)
	.rept	ITEMS_NR_VM_NUMA_STAT
	.quad	0
	.endr
SYM_DATA_END(vm_numa_stat)
EXPORT_SYMBOL(vm_numa_stat)

	.balign ASM_SMP_CACHE_BYTES
SYM_DATA_START(vm_node_stat)
	.rept	ITEMS_NR_VM_NODE_STAT
	.quad	0
	.endr
SYM_DATA_END(vm_node_stat)
EXPORT_SYMBOL(vm_node_stat)

SYM_DATA_START(rtos_totalreserve_pages)
	.quad	0
SYM_DATA_END(rtos_totalreserve_pages)
#endif

#ifdef CONFIG_RTOS_HP_OBTAIN_STAT_CPU
SYM_DATA_START(cpu_idle_timeset)
	.rept	ITEMS_CPU_IDLE_TIMESET
	.quad	0
	.endr
SYM_DATA_END(cpu_idle_timeset)
#endif
